package com.prik.facade;

import com.prik.facade.subsystem.LetterProcess;
import com.prik.facade.subsystem.LetterWriter;
import com.prik.facade.subsystem.Police;

/**
 * 邮局
 **/
public class PostOffice {


    private LetterWriter letterWriter = new LetterWriter();
    private Police police = new Police();

    /**
     * 寄信服务，只需要你提供内容和地址
     * @param context
     * @param address
     */
    public void sendLetter(String context, String address) {
        letterWriter.writeContext(context);
        letterWriter.writeAddress(address);

        // 增加警察检查内容步骤
        police.checkLetter(letterWriter);

        letterWriter.putIntoEnvelope();
        letterWriter.sendLetter();
    }
}
// public class PostOffice {
//     private LetterProcess letterProcess = new LetterProcess();
//
//     /**
//      * 重新封装，保证门面不参与子系统的业务逻辑，只提供访问子系统的路径
//      *
//      * @param context
//      * @param address
//      */
//     public void sendLetter(String context, String address) {
//         letterProcess.sendLetter(context, address);
//     }
// }